package com.itheima.stock.service;

import com.itheima.stock.common.domain.*;
import com.itheima.stock.pojo.StockBusiness;
import com.itheima.stock.vo.resp.PageResult;
import com.itheima.stock.vo.resp.R;

import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map;

/**
 * @author byzhao
 * @version 1.0
 * @description 股票业务接口
 * @date 2022/10/12 16:04:09
 */
public interface StockService {

    /**
     * 获取所有股票主营业务数据
     *
     * @return
     */
    List<StockBusiness> getAllStockBusiness();

    /**
     * 获取大盘指数数据
     * @return
     */
    R<List<InnerMarketDomain>> innerIndexAll();

    /**
     * 外盘指数
     * @return
     */
    R<List<OuterMarketDomain>> externalIndex();
    /**
     * 板块指数
     * @return
     */
    R<List<StockBlockRtInfoDomain>> sectorAllLimit();

    /**
     * 涨幅榜
     * @return
     */
    R<List<StockUpDownCountDomain>> stockIncreaseLimit();

    /**
     * 涨幅榜 查看更多
     * @param page
     * @param pageSize
     * @return
     */
    R<PageResult<StockUpDownCountDomain>> stockAllPage(Integer page, Integer pageSize);

    /**
     * 涨停跌停数据统计
     * @return
     */
    R<Map> stockUpDownCount();

    /**
     * 将指定页的股票数据导出到excel
     *
     * @param page
     * @param pageSize
     */
    List<StockExcelDomain> stockExport(Integer page, Integer pageSize);

    /**
     * 统计国内A股大盘T日和T-1日成交量对比
     * @return
     */
    R<StockTradevolDomain> stockTradevol();

    /**
     * 个股涨跌幅度区间统计
     * @return
     */
    R<StockUpDownDomain> stockUpDown();

    /**
     * 个股分时K线行情
     * @param code
     * @return
     */
    R<List<Stock4MinuteDomain>> stockScreenTimesharing(String code);

    /**
     * 个股日K线详情
     * @param code
     * @return
     */
    R<List<Stock4EvrDayDomain>> stockScreenDkline(String code);

    /**
     * 周k
     * @param code
     * @return
     */
    R<List<Stock4WeekDomain>> StockScreenWeekKline(String code);
}
